import lmd5 from '../core/lmd5.js';

/**
 * 接口请求专用
 */
;
var MySign = function() {

	const signKEY = "MD5SIGN";
	let self = {};
	//签名
	self.sign = function(提交参数, KEY) {
		let paramNameList = [];
		for (let key in 提交参数) {
			//	console.log(key,提交参数[key])
			if (key != signKEY)
				paramNameList.push(key);
		}
		paramNameList.sort(); // 排序key 列表
		let list = [];
		for (var i = 0; i < paramNameList.length; i++) {
			let k = paramNameList[i];
			let value = 提交参数[k];
			//console.log(k, value)
			if (value) {
				list.push(k);
				list.push("=");
				list.push(value);
				list.push("&");
			}
		}
		list.push("key");
		list.push("=");
		list.push(KEY);
		let s = list.join("");
		//	console.log("---------");
		//console.log(s,list);
		//console.log("---------");
		return lmd5.hex_md5(list.join(""));
	}

	self.addSign = function(参数, 签名) {
		参数[signKEY]= 签名; // 签名
	}

	/**
	 * 验证签名
	 * 
	 * 如果签名正确返回 字典
	 * 
	 * 如果不正确 返回null
	 * 
	 * @return
	 */
	self.chkSign = function(提交参数, KEY) {
		// String appid=提交参数.get("appid");
		// String key= getApp密钥(db别名,appid);
		let sign = self.sign(提交参数, KEY);
		return 提交参数[signKEY] == sign;
	}
	return self;
}();
export default MySign
